Multipath propagation is a propagation phenomenon that causes signals to reach receiver equipments or devices through two or more paths. Multipath propagation also causes interference between different signals travelling through a same communication media or between different components of a same signal. Such phenomena may happen for example in wired communication links due to signal reflections caused for instance by impedance mismatches. In digital radio communications, multipath propagation may happen due to signal reflection by atmospheric and terrestrial objects. In optical communication systems, the dispersion and multiple reflections of the optical fiber propagation environment may induce a multipath propagation.
Destructive interference, mainly inter-symbol interference (ISI), which results from multipath propagation can cause errors and affect the quality of communications. Signal processing techniques such as equalizers, orthogonal multi-carrier modulation and rake receivers may be used to correct the problem of ISI.
Multiple antenna technologies have been proposed to transform multipath propagation from a nuisance to be avoided into a source for increasing and possibly multiplying the capacity of wired, wireless and optical communication systems. In such communication systems, transmit/receive antennas at transceiver devices, sub-carriers in a multi-carrier modulation system or different propagation modes and polarization states in optical fiber communications can advantageously be used to carry information from one or multiple transmitters to one or many receivers.
Multipath propagation of wired, wireless or optical communication media can be harnessed to increase transmission rates using Space-Time coding and decoding techniques. Space-Time encoders are implemented in transmitter devices to encode a flow of information symbols and transmit encoded symbols. Space-Time encoders can use one or more transmit antennas, during several time slots, and over a plurality of sub-carriers. At receiver devices, Space-Time decoders are used to recover intended information streams conveyed by transmitter devices.
Space-Time coding and decoding techniques have been initially developed for wireless Multi-antenna technologies implemented in wireless Multi-antenna systems (MIMO), known as single-user MIMO. Such systems comprise a pair of transmitter/receiver, each being equipped with one or many antennas. Space-Time coding and decoding techniques have been integrated in various wireless communication systems and networks involving many pairs of intercommunicating users and possibly in combination with multiple access techniques like Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Code Division Multiple Access (CDMA), and Space-Division Multiple Access (SDMA). Space-Time coding and decoding techniques may be further implemented in combination with multi-carrier modulation formats such as OFDM (Orthogonal Frequency Division Multiplexing) and FBMC (Filter Bank MultiCarrier).
In addition to wireless communications, Space-Time coding and decoding techniques can also be used to provide high transmission rates in optical-fiber links over long distances. Moreover, Space-Time coding and decoding techniques can be efficiently implemented in optical fiber-based transmission systems to combat losses and impairments of the optical transmission medium. Exemplary applications comprise Polarization Division Multiplexed systems (PMD) and Mode Division Multiplexed systems (MDM).
Benefits of Space-Time coding and decoding techniques in terms of increasing transmission rates paved the way for their development and implementation in a variety of communication standards. Exemplary applications comprise power-line wired communications standardized in the ITU G.hn and HomePlug AV2 specifications, wireless adhoc communications standardized for example in Wi-Fi (IEEE 802.11n and IEEE 802.11ac), and cellular communications standardized in many systems such as HSPA+ (3G), WiMAX (4G), Long Term Evolution (LTE), and future 5G.
Due to multipath propagation, information symbols originating from the various inputs of a MIMO communication system are superposed at receiver devices. The received signal or channel output is a set of linear combinations of the various information symbols sent by one or more transmitters, using one or more antennas, during one or more time slots and over one or more sub-carriers. The goal of a receiver device in a MIMO system is to solve this set of linear combinations for recovering the original information. A Space-Time decoder may be implemented for reaching such a goal.
A Space-Time decoder delivers, given the MIMO channel output and a channel matrix representative of the transmission channel, an estimation of the original information symbols.
The decoding process implemented in a Space-Time decoder may be broken down into two different stages: a preprocessing stage and an estimation stage. The aim of the first stage is to transform the channel matrix into an equivalent or near-equivalent matrix having better conditioning or orthogonality properties. Such properties enable a computational complexity reduction and/or performance improvement of the estimation stage. Exemplary preprocessing techniques include lattice reduction, Minimum Mean Square Equalization-Generalized Decision Feedback Equalization (MMSE-GDFE) filtering and ordering methods such as V-BLAST and H-norm orderings. Lattice reduction techniques may be used in order to obtain a channel matrix of quasi-orthonormal column vectors. An example of reduction techniques is the LLL reduction disclosed in “A. K. Lenstra, H. W. Lenstra, and H. W. Lovász. Factoring polynomials with rational coefficients. Mathematische Annalen 261 (4): 515-534. 1982”. MMSE-GDFE filtering disclosed in “J. Jalden and P. Elia, DMT Optimality of LR-Aided Linear Decoders for a General Class of Channels, Lattice Designs, and System Models, IEEE Transactions on Information Theory, volume 56, Issue 10, pages 4765-4780” may be used to obtain a well conditioned channel matrix. Ordering techniques may be used to change the decoding order of the different information symbols. Exemplary ordering techniques are the V-Blast disclosed for example in “G. J. Foschini. Layered Space-Time Architecture for Wireless Communication in a Fading Environment When Using Multi-Element Antennas. Bell Labs Tech. J. Volume 1, pages 41-59. 1996” and H-norm ordering disclosed for example in “M.-O. Damen, H. El-Gamal, and G. Caire. On maximum-likelihood detection and the search for the closest lattice point. Information Theory, IEEE Transactions on, volume 49, issue 10, pages 2389-2402, 2003”.
In the second stage, a decoding algorithm may be implemented to determine, from the transformed channel matrix, an estimation of the original information symbols. A variety of decoding algorithms exist. Decoding algorithms can be generally categorized as joint, single-stream or sub-block decoders, depending on whether the different streams constituting the vector of original information symbols are decoded jointly, individually, or in groups of sub-vectors respectively. The choice of a decoding algorithm may depend on the available computational resources at receiver devices and on the required performance level.
Optimal performance, for uniformly distributed information symbols, is obtained by applying a decoding algorithm based on Maximum Likelihood (ML) decoding criterion. An ML decoding algorithm compares the received signal with the possible transmitted symbols and decides in favor of the vector of information symbols that has the minimum Euclidean distance with respect to the received signal. ML decoders offer the minimum decoding error probability.
ML decoders can be implemented in various ways. Exhaustive search-based implementations require intensive processing and storage capabilities that may exceed the available ones. Alternative ML sequential decoding algorithms may be used to provide optimal performance while employing fewer computational and storage resources than the exhaustive search-based methods.
Sequential decoders are joint decoders based on a QR decomposition of the channel matrix and perform a tree search in a decoding tree to solve the ML decoding problem. The decoding tree comprises a plurality of nodes, levels, branches and paths. Nodes correspond to the different possible values of the information symbols.
Several ML sequential decoders exist and are generally divided into three families according to the tree-search strategy. Sequential decoders may be based on a depth-first strategy as disclosed for example in “E. Viterbo and J. Boutros. A universal lattice code decoder for fading channels. IEEE Transactions on Information Theory, 45(5):1639-1642, July 1999”. A breadth-first tree-search strategy may be used as in the Stack decoder disclosed for example in “R. Fano. A heuristic discussion of probabilistic decoding. IEEE Transactions on Information Theory, 9(2):64-74, 1963”. Other Sequential decoders may be based on a best-first strategy like the SB-Stack decoder as disclosed for example in the “G. R. Ben-Othman, R. Ouertani, and A. Salah. The spherical bound stack decoder. In Proceedings of International Conference on Wireless and Mobile Computing, pages 322-327, October 2008”.
Sequential ML decoding algorithms offer optimal performance but require a high computational complexity that increases as a function of the size of the alphabet to which belong the information symbols and of the number of deployed antennas. The size of the constellation generally impacts the number of nodes to be visited at each level of the decoding tree. The number of deployed antennas generally impacts the number of levels in the decoding tree.
In a single-stream decoding algorithm, the various information symbols are decoded individually. Two different decoding strategies may be used: linear or non-linear. Using a linear decoding strategy, a linear decoding algorithm first creates inter-symbol interference-free data flows to decouple the different information symbols and then delivers an estimation of each symbol separately. Accordingly, the decision on a given information symbol is independent of the remaining estimated symbols. Interference elimination in the first step is realized through a projection of the channel output using a filtering matrix. Zero-Forcing (ZF) and Minimum Mean Squared Error (MMSE) decoders are examples of linear single-stream decoders. Alternatively, single-stream decoders can operate according to a non-linear decoding strategy, the information symbols being estimated individually. However, unlike linear decoding algorithms, the estimation of a given symbol is impacted by the previously estimated symbols with non-linear decoders. The Zero Forcing-Decision Feedback Equalizer (ZF-DFE) decoder is an example of a non-linear single-stream decoder. It is known as a Successive Interference Cancellation (SIC) scheme. It uses a QR decomposition of the channel matrix to recursively determine estimations of each single symbol from previously estimated symbols. Inter-symbol interference is then cancelled recursively, any decoding errors on a given symbol being propagated over the forthcoming estimations thereby inducing performance degradation. Linear and non-linear single-stream decoders require low decoding complexity but offer limited performance.
Using sub-block decoders, the vector of information symbols is divided into a plurality of sub-vectors and each sub-vector is decoded separately. The sub-vector division of the information symbols is performed in accordance with a sub-block division of a transmission channel representative matrix.
Certain sub-block decoders apply a combined ML and DFE decoding scheme for wireless MIMO systems using spatial multiplexing of data streams as disclosed in “Won-Joon Choi, R. Negi, and J. M. Cioffi. Combined ML and DFE decoding for the V-BLAST system. IEEE International Conference on Communications. Volume 3, pages 1243-1248, 2000.” Accordingly, the vector of information symbols of a length n is divided into two sub-vectors of lengths p and n-p respectively. In a first phase, the sub-vector, comprising p information symbols, is estimated using an ML decoder. Using these estimated symbols, the receiver recursively performs an inter-symbol interference cancellation using a decision feedback equalization to determine an estimation of the remaining n-p symbols composing the second sub-vector of information symbols. Although such 2-block decoding schemes allow the achievement of better performance than ZF-DFE decoding, they are still sub-optimal.
Other sub-block decoding schemes have been proposed for Space-Time Coded MIMO systems using linear Space-Time Block Codes (STBC). Particular classes of low-complexity ML-decodable STBCs have been considered such as the family of multi-group decodable codes disclosed in “D. N. Dao, C. Yuen, C. Tellambura, Y. L. Guan, and T. T. Tjhung. Four-group decodable space-time block codes. IEEE Transactions on Signal Processing, 56(1):424-430, January 2008”.
Other classes of low-complexity ML-decodable STBC comprise fast decodable codes as disclosed in “E. Biglieri, Y. Hong, and E. Viterbo. On fast-decodable space-time block codes. In IEEE International Zurich Seminar on Communications, 116-119, March 2008”.
Still other classes of low-complexity ML-decodable STBC comprise fast-group decodable codes as disclosed in “T. P. Ren, Y. L. Guan, C. Yuen, and R. J. Shen. Fast-group-decodable space-time block code. In Proceedings of IEEE Information Theory Workshop, pages 1-5, January 2010”.
Sub-block decoding in the presence of an STBC that belongs to one of these families of codes may be advantageously performed using a QR decomposition of the channel matrix. The zero structure of the equivalent channel matrix allows efficient recursive decoding of the various sub-vectors of information symbols with reduced complexity without sacrificing the decoding error performance. Particularly, some sub-vectors of symbols may be estimated in a separate way, in parallel, allowing faster and lower-complexity decoding.
The overall decoding complexity of a decoding process is determined from the computational complexity of the preprocessing and estimation phases. Preprocessing techniques may be used to improve the performance of sub-optimal decoding algorithms or to reduce the complexity of optimal sequential decoders. However, existing preprocessing techniques require a computational complexity that may impact the overall processing complexity. Further, such preprocessing methods may not be adapted to sub-block decoding algorithms. There is thus a need for designing low-complexity preprocessing methods adapted in particular to sub-block decoding schemes.